package com.swn.cm.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.apache.log4j.Logger;

import com.swn.cm.service.StudentService;
import com.swn.common.util.DateUtil;
import com.swn.common.util.IID;
import com.swn.common.util.JSONUtil;
/**
 * 学生管理的控制类
 * 
 * @author 闫美玲
 * @Date 2018年4月23日 下午3:37:03
 * @Note <这里是该类的使用注意事项>
 * 修改日期  修改人  修改内容
 * <多次修改需另起一行>
 * @company 济南舒卫能生物技术有限公司
 */
@Controller
@RequestMapping("/student")
public class StudentController {
	private static Logger logger = Logger.getLogger("StudentController.class");
	
	@Autowired 
	private StudentService studentService ;
	

	/**
	  * 查询学生列表
	  * 
	  * @return Map<String,Object>
	  *
	  * @Author 闫美玲
	  * @Date 2018年4月24日 上午9:11:35 
	  * @Note <这里是方法的备注>
	  * 修改日期  修改人  修改内容
	  */
	@RequestMapping("/queryStuList")
	@ResponseBody
	public Map<String,Object> queryStuList (String signupForm){
		
		Map<String ,Object> map = new HashMap<String,Object>();
		try{
			@SuppressWarnings("unchecked")
			Map <String ,Object> paramMap = JSONUtil.getMapFromJsonString(signupForm);
			//String name= (String)paramMap.get("name");
			List <Map<String,Object>> list = studentService.queryStuList(paramMap);
			map.put("data", list);
		}catch(Exception e){
			logger.error(e);
		}
		return map;
	}
	
	
	
	
	/**
	  * 添加一条学生信息
	  * 
	  * @param signupForm
	  * @return String
	  *
	  * @Author 闫美玲
	  * @Date 2018年4月24日 下午2:44:19 
	  * @Note <这里是方法的备注>
	  * 修改日期  修改人  修改内容
	  */
	@RequestMapping(value="/addStu" ,method =RequestMethod.POST)
	@ResponseBody
	public String addStudent(String signupForm){
		String result = "fail";
		try{
			@SuppressWarnings("unchecked")
			Map <String ,Object> paramMap = JSONUtil.getMapFromJsonString(signupForm);
			String id = IID.getIID();
			paramMap.put("id", id);
			String dateAndTime = DateUtil.getDateAndTime();
			paramMap.put("create_time", dateAndTime); 
			int execute = studentService.saveStu(paramMap);
			if(execute >0){
				result = "success" ;
			}
		}catch(Exception e){
			logger.error(e);
		}
		
		return result ;
	}
	
	

	/**
	  * 
	  * 根据id查询学生信息
	  * @param id
	  * @return Map<String,Object>
	  *
	  * @Author 闫美玲
	  * @Date 2018年4月23日 下午3:56:27 
	  * @Note <这里是方法的备注>
	  * 修改日期  修改人  修改内容
	  */
	@RequestMapping(value="/queryStuById", method= RequestMethod.POST )
	@ResponseBody
	public Map<String,Object> queryStrudet(String id){
		Map<String ,Object> map = null;
		try{
			map = studentService.queryStuMapById(id);
		}catch(Exception e){
			logger.error(e);;
		}
		return map ;
	}
	
	/**
	  * 更新一条学生信息
	  * 
	  * @param signupForm
	  * @param id
	  * @return String
	  *
	  * @Author 闫美玲
	  * @Date 2018年4月24日 下午2:43:56 
	  * @Note <这里是方法的备注>
	  * 修改日期  修改人  修改内容
	  */
	@RequestMapping(value="/updateStu",method=RequestMethod.POST)
	@ResponseBody
	public String updateStu(String signupForm ,String id){
		String result="";
		try{
			@SuppressWarnings("unchecked")
			Map<String,Object>paramMap = JSONUtil.getMapFromJsonString(signupForm);
			paramMap.put("id", id);
			int execute = studentService.updateStu(paramMap);
			if(execute>0){
				result = "success";
			}else{
				result="fail";
			}
		}catch(Exception e){
			logger.error(e);
		}
		return result;
	}
	
	
	/**
	  * 根据id删除学生信息
	  * 
	  * @param id
	  * @return String
	  *
	  * @Author 闫美玲
	  * @Date 2018年4月24日 下午2:43:35 
	  * @Note <这里是方法的备注>
	  * 修改日期  修改人  修改内容
	  */
	@RequestMapping(value="deleteStu")
	@ResponseBody
	public String deleteStu(String id){
		String result="";
		try{
			int execute = studentService.deleteStu(id);
			if(execute>0){
				result = "success";
			}else{
				result = "fail";
			}
		}catch(Exception e){
			logger.error(e);
		}
		return result ;
	}

	/**
	  * 查询班级列表
	  * 
	  * @return Map<String,Object>
	  *
	  * @Author 闫美玲
	  * @Date 2018年4月24日 上午9:11:35 
	  * @Note <这里是方法的备注>
	  * 修改日期  修改人  修改内容
	  */
	@RequestMapping("/queryClassList")
	@ResponseBody
	public Map<String,Object> queryClassList (){
		
		Map<String,Object> map = new HashMap<String,Object>();
		try{
			List<Map<String,Object>> list = studentService.queryClassList();
			map.put("data", list);
		}catch(Exception e){
			logger.error(e);
		}
		return map;
	}
}
